package cn.itsource.ymcc.doc;

import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;

@Accessors(chain = true)
@Data
@Document(indexName = "zcj", type = "employee")
public class EmployeeDoc {
    @Id
    private Long id;

    /**
     * @Id用来指定id字段：意义是将加了此直接的字段值来作为文档id
     *
     * @Field标注文档实体的字段
     *  name：用来指定ES索引库中当前文档类型下当前字段的名称，如果与当前成员变量名称，可以省略name属性
     *  type：用来指定字段类型，如果是字符串，需要考虑是否需要分词，如果要分词就用Text，否则就用Keyword
     *  store：用来指定当前字段值是否需要存储到ES的数据区，如果设置为false，则获取出来后此字段为null
     *  index：用来指定当前字段是否需要创建索引（索引是以B+树结构存储到索引区，被称为倒排索引）
     */
    @Field(type= FieldType.Keyword,store = true,index = true)
    private String name;
    @Field(type= FieldType.Integer,store = true,index = true)
    private Integer age;
    @Field(type= FieldType.Keyword,store = true,index = true)
    private String username;
    @Field(type= FieldType.Keyword,store = true,index = true)
    private String hobby;
}
